package com.szly.phm.common.service;



import com.szly.phm.common.entity.dto.stu.*;
import com.szly.phm.common.entity.dto.user.LoginUserDTO;
import com.szly.phm.common.entity.result.RootResponse;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author admin
 * @since 2021-07-02
 */
public interface IScService {

//    List<LoginRoleVO> queryRolesByUserId(String userId);

//    //分页查询角色
//    RootResponse queryRolePage(RolePageDTO roleDTO);

    //添加班级
    RootResponse createClass(CreateClassDTO roleDTO, LoginUserDTO userDTO);
    //添加专业
    RootResponse createMajor(CreateMajorDTO roleDTO, LoginUserDTO userDTO);
    //添加学生
    RootResponse createStudent(CreateStudentDTO roleDTO, LoginUserDTO userDTO);
    //添加教学内容
    RootResponse createTeachData(CreateTeachDataDTO roleDTO, LoginUserDTO userDTO);
    //添加教学类型
    RootResponse createTeachDataType(CreateTeachDataTypeDTO roleDTO, LoginUserDTO userDTO);

    //添加班级
    RootResponse updateClass(UpdateClassDTO roleDTO, LoginUserDTO userDTO);
    //添加专业
    RootResponse updateMajor(UpdateMajorDTO roleDTO, LoginUserDTO userDTO);
    //添加学生
    RootResponse updateStudent(UpdateStudentDTO roleDTO, LoginUserDTO userDTO);
    //添加教学内容
    RootResponse updateTeachData(UpdateTeachDataDTO roleDTO, LoginUserDTO userDTO);
    //添加教学类型
    RootResponse updateTeachDataType(UpdateTeachDataTypeDTO roleDTO, LoginUserDTO userDTO);


    //添加班级
    RootResponse deleteClass(String id, LoginUserDTO userDTO);
    //添加专业
    RootResponse deleteMajor(String id, LoginUserDTO userDTO);
    //添加学生
    RootResponse deleteStudent(String id, LoginUserDTO userDTO);
    //添加教学内容
    RootResponse deleteTeachData(String id, LoginUserDTO userDTO);
    //添加教学类型
    RootResponse deleteTeachDataType(String id, LoginUserDTO userDTO);
    //    //编辑角色
//    RootResponse updateRole(UpdateRoleDTO roleDTO, LoginUserDTO userDTO);
//
//    //删除角色
//    RootResponse deleteRole(String id, LoginUserDTO userDTO);
//
//    //查询角色权限
//    RootResponse<RolePermissionVO> queryRolePermissions(String roleId);
//
//    //分配权限
//    RootResponse createAssignPermissions(RolePermissionDTO roleDTO, LoginUserDTO userDTO);

    RootResponse selectStudent(StudentPageDTO studentPageDTO);
    RootResponse selectAllMajor(MajorPageDTO majorPageDTO);

    RootResponse selectClassByMajorId(ClassPageDTO classPageDTO);

    RootResponse selectTeachData(TeachDataPageDTO teachDataPageDTO,LoginUserDTO userDTO);
    RootResponse  selectTeachDataType(TeachDataTypePageDTO teachDataTypePageDTO,LoginUserDTO userDTO);
}
